package main;

/**
 * 使用委托的适配器
 *
 * 当 PrintBanner 类的 printWeak 被调用的时候，
 * 并不是 PrintBanner 类自己进行处理，而是将处理交给了其他实例( Banner类的实例)的 showWithParen 方法。
 * 这样就形成了一种委托关系。
 */
public class PrintBanner2 implements Print {
    private Banner banner;

    public PrintBanner2(String string) {
        banner = new Banner(string);
    }

    @Override
    public void printWeak() {
        banner.showWithParen();
    }

    @Override
    public void printStrong() {
        banner.showWithAster();
    }
}
